package main

import "fmt"

func main() {

	var x1, y1, x2, y2, x3, y3, x4, y4 float64

	fmt.Println("************")
	fmt.Println("* 判断斜率 *")
	fmt.Println("************")

	// 输入数据
LINE1:
	fmt.Println("输入两点坐标确认第 1 条直线的斜率")
	fmt.Print("第一个点的 x 坐标：")
	fmt.Scanln(&x1)
	fmt.Print("第一个点的 y 坐标：")
	fmt.Scanln(&y1)
	fmt.Print("第二个点的 x 坐标：")
	fmt.Scanln(&x2)
	fmt.Print("第二个点的 y 坐标：")
	fmt.Scanln(&y2)
	if x1 == x2 && y1 == y2 {
		fmt.Print("两点坐标相同，请重新输入\n\n")
		goto LINE1
	}
	fmt.Println()
Line2:
	fmt.Println("输入两点坐标确认第 2 条直线的斜率")
	fmt.Print("第一个点的 x 坐标：")
	fmt.Scanln(&x3)
	fmt.Print("第一个点的 y 坐标：")
	fmt.Scanln(&y3)
	fmt.Print("第二个点的 x 坐标：")
	fmt.Scanln(&x4)
	fmt.Print("第二个点的 y 坐标：")
	fmt.Scanln(&y4)
	if x3 == x4 && y3 == y4 {
		fmt.Print("两点坐标相同，请重新输入\n\n")
		goto Line2
	}
	fmt.Println()

	// 计算斜率

	// x1, y1 := 0, 0
	// x2, y2 := 1, 1
	// line1Slope := (y2 - y1) / (x2 - x1)
	//
	// x3, y3 := 0, 0
	// x4, y4 := 3, 3
	// line2Slope := (y4 - y3) / (x4 - x3)

	dot1 := [2]float64{x1, y1}
	dot2 := [2]float64{x2, y2}
	line1Slope := (dot2[1] - dot1[1]) / (dot2[0] - dot1[0])

	dot3 := [2]float64{x3, y3}
	dot4 := [2]float64{x4, y4}
	line2Slope := (dot4[1] - dot3[1]) / (dot4[0] - dot3[0])

	fmt.Printf("第 1 条直线的斜率：%.2f\n第 2 条直线的斜率：%.2f\n", line1Slope, line2Slope)
	// 判断斜率
	if line2Slope == line1Slope {
		fmt.Println("斜率相等")
	} else {
		fmt.Println("斜率不等")
	}
}
